# 方法一
def cc(f, len):  # 坐标映射|| f为方向，len为行走的距离，返回值为dx，dy的增量（微分）
    if f == 0:
        return (-len, 0)
    elif f == 1:
        return (-len / 2, len * e / 2)
    elif f == 2:
        return (len / 2, len * e / 2)
    elif f == 3:
        return (len, 0)
    elif f == 4:
        return (len / 2, -len * e / 2)
    elif f == 5:
        return (-len / 2, -len * e / 2)


e = 3 ** 0.5  # 存根号3
d1, p1, q1, d2, p2, q2 = map(int, input().split())
a1 = [[d1, p1], [(d1 + 2) % 6, q1]]  # a路径的两次方向变化
b1 = [[d2, p2], [(d2 + 2) % 6, q2]]  # b路径的两次方向变化
a = [0, 0]  # a点映射后的坐标（x，y）
b = [0, 0]  # b点映射后的坐标（x，y）
for i in range(2):  # 进行a路径的坐标映射
    dx, dy = cc(a1[i][0], a1[i][1] * 2)  # 因为一格长度是2所以*2
    a[0] += dx
    a[1] += dy
for i in range(2):  # 进行b路径的坐标映射
    dx, dy = cc(b1[i][0], b1[i][1] * 2)
    b[0] += dx
    b[1] += dy
x, y = abs(b[0] - a[0]), abs(b[1] - a[1])  # 计算a点b点的水平垂直距离
# 蓝线可根据斜率区分，蓝线上的情况两种都可以所以这里分给蓝线右下方
if abs(y / x) <= e:  # 蓝线右下方
    len = round(((x - y * e / 3) + (y * e * 2 / 3)) / 2)  # 因为有根号有精度问题需要进行四舍五入
    print("%d" % len)
else:  # 蓝线左上方
    len = round(y * e / 3)
    print("%d" % len)


# 方法二
def zuobiao(x, y, d, step):  # 查找BC两点坐标
    if d == 0:
        x -= 2 * step
        return x, y
    elif d == 1:
        x -= step
        y += step
        return x, y
    elif d == 2:
        x += step
        y += step
        return x, y
    elif d == 3:
        x += 2 * step
        return x, y
    elif d == 4:
        x += step
        y -= step
        return x, y
    else:
        x -= step
        y -= step
        return x, y


def f(xb, yb, xc, yc):
    if abs(xb - xc) <= abs(yb - yc):
        return abs(yb - yc)
    else:
        if xb < xc:  # B点在左边
            res = abs(yb - yc) + (xc - abs(yb - yc) - xb) // 2
            return res
        else:  # C点在左边
            res = abs(yc - yb) + (xb - abs(yc - yb) - xc) // 2
            return res


if __name__ == "__main__":
    d1, p1, q1, d2, p2, q2 = map(int, input().split())
    xb1, yb1 = zuobiao(0, 0, d1, p1)
    xb, yb = zuobiao(xb1, yb1, (d1 + 2) % 6, q1)
    xc1, yc1 = zuobiao(0, 0, d2, p2)
    xc, yc = zuobiao(xc1, yc1, (d2 + 2) % 6, q2)
    print(f(xb, yb, xc, yc))

#  方法三
'''
time+=20min
value+=15分
到此为止，如果以上5道题全部作对，那么拿个省二应该不成问题。
半期总结：这五道题中第二题难度最高，其他均可通过正常思考求解，预估时间两个小时以内，

这道题六个方向不好写，改成平面坐标方便思考，因为每个点到中间的距离相同，所以使用如下距离方式，都是2**0.5
原点就是（0，0），0方向：（-2，0），1方向：（-1，1），2方向：（1，1），3方向：（2，0），4方向：（1，-1），5方向：（-1，-1）

'''
import os
import sys


def walk(d, q, x, y):  # 从（x，y）向d方向走q步
    x += x_dir[d] * q
    y += y_dir[d] * q
    return x, y


x_dir = [-2, -1, 1, 2, 1, -1]  # 方向表
y_dir = [0, 1, 1, 0, -1, -1]
d1, p1, q1, d2, p2, q2 = map(int, input().split())
x1, y1 = walk(d1, p1, 0, 0)
x1, y1 = walk((d1 + 2) % 6, q1, x1, y1)
x2, y2 = walk(d2, p2, 0, 0)
x2, y2 = walk((d2 + 2) % 6, q2, x2, y2)
dx, dy = abs(x1 - x2), abs(y1 - y2)  # 算差值用于判断行走距离
if dx >= dy:
    # 如果dx方向位移更大，我们只能先横着走，在竖着走，不能通过六边形优势快速到达，距离就是两者和的一半
    print((dx + dy) // 2)
else:
    # 如果dy方向差值很大，我们发现斜着走就够了，因为每次在x方向有着60°的偏转，大家可以自己换图随便找几个例子试试
    print(dy)



# 方法四

#注意，这里的纵坐标不是竖着的，是斜着的！
#不要把题目想复杂了，其实就是一个平面，往左上移动就是横坐标-0.5，纵坐标加1，不用多想，其他方向的移动类似
#直接将两个点的坐标用上面的方法表示出来就可以了
d1,p1,q1,d2,p2,q2=map(int,input().split())
x=[-1,-0.5,0.5,1,0.5,-0.5]
y=[0,1,1,0,-1,-1]#两个表示移动的坐标轴，都是对应的，不然第二列，就是左移1个，上移动1个，就是从左上走
xa=x[d1]*p1+x[(d1+2)%6]*q1
ya=y[(d1+2)%6]*q1+y[d1]*p1
xb=x[d2]*p2+x[(d2+2)%6]*q2
yb=y[(d2+2)%6]*q2+y[d2]*p2
#以上就计算得出了两个点的坐标
#下面就开始计算步数
#print(xa,xb,ya,yb)
disx=abs(xa-xb)#disx就是实打实的距离，disx为5的话， 就是要移动五步才能到
disy=abs(ya-yb)
#print(disx,disy)
#注意：都是先考虑斜着移动到同一行，在横着移动
if disx<disy/2:#表示仅仅斜着移动，就可以达到目标点，那也就没有必要再去横着移动了，得到最小步数.这里disy要除2，是因为纵坐标移动1，横坐标移动0.5
    print(int(disy))
else:#仅仅斜着移动，不能达到目标，那我们就写斜着移动到同一行，在横着移动
    #count=0
    disx-=disy*0.5#先斜着移动
    print(int(disy+disx))#斜着移动的步数加上之后横着移动的步数，就是答案


#方法六
import os
import sys

# 请在此输入您的代码
x = [1,1,0,-1,-1,0]
y = [0,1,1,0,-1,-1]
d1,p1,q1,d2,p2,q2 = map(int,input().split())
xa = x[d1]*p1 + x[(d1+2)%6]*q1
ya = y[d1]*p1 + y[(d1+2)%6]*q1
xb = x[d2]*p2 + x[(d2+2)%6]*q2
yb = y[d2]*p2 + y[(d2+2)%6]*q2
if (xa-xb)*(ya-yb)<0:
  ans = abs(xa-xb) + abs(ya-yb)
else:
  ans = max(abs(xa-xb),abs(ya-yb))
print(ans)